package io.framework.modules.soil.dao;

import io.framework.common.dao.BaseDao;
import io.framework.modules.soil.dto.SoilDTO;
import io.framework.modules.soil.entity.SoilEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 土壤环境质量监测
 *
 * @author Gujq email
 * @since 1.0.0 2020-05-25
 */
@Mapper
public interface SoilDao extends BaseDao<SoilEntity> {


    List<SoilEntity> getList(Map<String,Object> params);

    /**
     * 达标情况 所有村庄
     * @param params
     * @return
     */
    List<Map<String,Object>> getPassInfo(Map<String,Object> params);

    /**
     * 过去达标情况  数量
     * @param params
     * @return
     */
    List<Map<String,Object>> getPassNum(Map<String,Object> params);

    /**
     * 土壤村庄达标率排名
     * @param params
     * @return
     */
    List<Map<String,Object>> getPassNumSort(Map<String,Object> params);

    /**
     * 土壤监测点位情况
     * @param params
     * @return
     */
    List<Map<String,Object>> getMonitorPointInfo(Map<String,Object> params);

    /**
     * 历史土壤环境质量情况
     * @param params
     * @return
     */
    List<Map<String,Object>> getHistoryQuality(Map<String,Object> params);

    /**
     * 获取所有村庄名称
     * @return
     */
    List<Map<String,Object>> getVillageNameList();

    /**
     * 根据村庄获取当前村庄所有的土地利用类型
     * @param params
     * @return
     */
    List<Map<String,Object>> getPointNamaList(Map<String, Object> params);

    /**
     * 点击站点获取信息
     * @param params
     * @return
     */
    List<SoilDTO> getSoilStationInfoById(Map<String, Object> params);

    List<SoilDTO> checkData(@Param("year") String year);

    int deleteInfoByDate(Map<String, Object> params);

    String getDate();

}